package br.iars.manager;

import java.util.List;

import javax.ejb.Local;

import br.iars.manager.exception.BusinessException;
import br.iars.manager.exception.SystemException;
import br.iars.model.entity.Preference;

@Local
public interface ContextManager {

	public void addContext(String companyName, String systemName, Float minRate, Float maxRate, String rateType) throws BusinessException,
			SystemException;

	void setPreference(String companyName, String systemName, String userEmail, Long itemId, Float rate) throws BusinessException, SystemException;

	void setPreferences(String companyName, String systemName, List<Preference> preferences) throws BusinessException, SystemException;

	List<Preference> recommend(String companyName, String systemName, String userEmail, Integer quantity, Boolean isOnlyOwnContext)
			throws BusinessException, SystemException;

	Float estimatePreference(String companyName, String systemName, String userEmail, Long itemId, Boolean isOnlyOwnContext)
			throws BusinessException, SystemException;
}
